package helper

import (
	"log"
	"os"
	"os/exec"
)

func Exec(shell string) {
	// 使用Shell执行后台命令
	cmd := exec.Command("sh", "-c", shell)

	// 配置命令执行环境
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr

	// 启动命令（不等待完成）
	if err := cmd.Start(); err != nil {
		log.Println("启动命令失败: " + err.Error())
		return
	}

	// 立即返回，不等待命令完成
	println("命令已执行，PID:", cmd.Process.Pid, shell)
	PID = string(cmd.Process.Pid)
}

type CommandRes struct {
	Errors      interface{} `json:"errors"`
	RequestUuid string      `json:"request_uuid"`
	Result      struct {
		Type        string   `json:"type"`
		CommandUuid string   `json:"command_uuid"`
		Comment     string   `json:"comment"`
		Ip          []string `json:"ip"`
		Shell       string   `json:"shell"`
	} `json:"result"`
	ServerTime int  `json:"server_time"`
	Success    bool `json:"success"`
}
